// NoteParamRegBase.h: interface for the NoteParamRegBase class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_NOTEPARAMREGBASE_H__D0257C91_FC51_4642_AD7D_2C0FD84556F8__INCLUDED_)
#define AFX_NOTEPARAMREGBASE_H__D0257C91_FC51_4642_AD7D_2C0FD84556F8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#pragma warning ( disable : 4786 )

#include "newRegister.h"


namespace PDMS
{
	namespace PDMSFrame
	{
		class UeDbObject;

		class DllExport NoteParamIF
		{
		public:
			virtual ~NoteParamIF(){}
			virtual UESoft::ErrorStatus Show( UeDbObject* pTree ) = 0;
		};

		typedef SingletonRegObject< const RuntimeClass_*, NoteParamIF > NoteParamSurperClass;
		typedef NoteParamSurperClass::Register_ NoteParamManagerIF;

		class DllExport NoteParamRegBase : public NoteParamSurperClass,
										   public NoteParamIF
		{
			UE_DECLARE_DYNAMIC( NoteParamRegBase );
			DECLARE_REGISTER( VersionOne );

		public:
			NoteParamRegBase();
			virtual ~NoteParamRegBase();
			
		};
	}
}

#endif // !defined(AFX_NOTEPARAMREGBASE_H__D0257C91_FC51_4642_AD7D_2C0FD84556F8__INCLUDED_)
